#define _CRT_SECURE_NO_WARNINGS
//
//#include <stdio.h>
//
//int main()
//{
//	printf("I lost my cellphone!");
//}
//
//#include <stdio.h>
//
//int main() {
//    printf("Name    Age    Gender\n");
//    printf("---------------------\n");
//    printf("Jack    18     man");
//    return 0;
//}
//
//#include <stdio.h>
//
//int main()
//{
//    int a = 0;
//    int b = 0;
//    scanf("%x %o", &a, &b);
//    int sum = a + b;
//    printf("%d", sum);
//    return 0;
//}
//
//
//#include <stdio.h>
//
//int main()
//{
//    float money = 0;
//    int month = 0;
//    int date = 0;
//    int discount = 0;
//    int coupon = 0;
//    float sum = 0;
//    scanf("%f %d %d %d", &money, &month, &date, &discount);
//    switch (month)
//    {
//    case 11:
//        if (1 == discount)
//        {
//            coupon = 50;
//        }
//        sum = money * 0.7 - coupon;
//        if (sum < 0)
//            sum = 0;
//        printf("%.2f", sum);
//        break;
//    case 12:
//        if (1 == discount)
//        {
//            coupon = 50;
//        }
//        sum = money * 0.8 - coupon;
//        if (sum < 0)
//            sum = 0;
//        printf("%.2f", sum);
//        break;
//    }
//    return 0;
//}
//#include <stdio.h>
//#include <stdlib.h>
//
//int cmp_score(void* e1, void* e2)
//{
//    return *(int*)e2 - *(int*)e1;
//}
//int main()
//{
//    int n = 0;
//    int i = 0;
//    int score[50] = { 0 };
//    scanf("%d", &n);
//    for (i = 0; i < n; i++)
//    {
//        scanf("%d", &score[i]);
//    }
//    qsort(score, n, 4, cmp_score);
//    for (i = 0; i < 5; i++)
//    {
//        printf("%d ", score[i]);
//    }
//    return 0;
//}
//
//#include <stdio.h>
//
//int main()
//{
//    char str[50] = { 0 };
//    scanf("%s", str);
//    int i = 0;
//    int a = 0;
//    int b = 0;
//    while (str[i] != '0')
//    {
//        if (str[i] == 'A')
//        {
//            a++;
//            i++;
//        }
//        else
//        {
//            b++;
//            i++;
//        }
//    }
//    if (a > b)
//        printf("A");
//    else if (a < b)
//        printf("B");
//    else
//        printf("E");
//    return 0;
//}
//
//#include <stdio.h>
//
//int main()
//{
//    int score = 0;
//    while (scanf("%d", &score) != EOF)
//    {
//        if (score >= 90 && score <= 100)
//            printf("Perfect");
//    }
//    return 0;
//}
//#include <stdio.h>
//
//int main()
//{
//    int score = 0;
//    while (scanf("%d", &score) != EOF)
//    {
//        if (score >= 60)
//            printf("Pass\n");
//        else
//            printf("Fail\n");
//    }
//    return 0;
//}
//
//
//

//#define INT_PTR int*
//typedef int* int_ptr;
//INT_PTR a, b;
//int_ptr c, d;



//
//#include <stddef.h>
//#include <stdio.h>
//struct stu
//{
//	char name[10];
//	int age;
//	float score;
//
//
//};
//int main()
//{
//	printf("%d\n", offsetof (struct stu,age));
//	printf("%d\n", sizeof(struct stu));
//	printf("%d", sizeof(float));
//	return 0;
//}


//#define SWAP 
//
//#include <stdio.h>
//
//#define SWAP(n) (((n) & 0x55555555) << 1) | (((n) & 0xaaaaaaaa) >> 1))
//
//int main()
//{
//    int a = 10;
//    int ret = SWAP (a);
//    printf("%d\n", ret);
//    return 0;
//}


#define SWAP(n)  ( a = ((n&0x55555555)<<1) + ((n&0xaaaaaaaa)>>1))
#include <stdio.h>

int main()
{
	int a = 10;
    SWAP(a);
	printf("%d\n", a);
	return 0;
}
